home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
COMMUNIC
/
BULLETIN
/
H403A.ZIP
/
QBBS276D.ZIP
/
STRUCT.276
< prev
next >
Wrap
Text File
|
1993-01-02
|
16KB
|
452 lines
(****************************************************************************)
(* Structures document for QuickBBS version 2.76 *)
(* Copyright 1991,1992 Pegasus Software *)
(* All Rights Reserved. *)
(****************************************************************************)
Const
MaxMsgAreas = 200;
MaxFileAreas = 200;
MaxEvents = 30;
type
FlagType = array[1..4] of Byte;
UserRecord = record
Name : String[35];
City : String[25];
Pwd : String[15];
DataPhone,
HomePhone : String[12];
LastTime : String[5];
LastDate : String[8];
Attrib : Byte;
Flags : FlagType;
Credit,
Pending,
TimesPosted,
HighMsgRead,
SecLvl,
Times,
Ups,
Downs,
UpK,
DownK : Word;
TodayK : Integer;
Elapsed,
Len : Integer;
CombinedPtr : Word; (* Record number in COMBINED.BBS *)
AliasPtr : Word; (* Record number in ALIAS.BBS *)
Birthday : Longint;
end;
(* Attrib:
Bit 0: Deleted
Bit 1: Screen Clear Codes
Bit 2: More Prompt
Bit 3: ANSI
Bit 4: No-Kill
Bit 5: Ignore Download Hours
Bit 6: ANSI Full Screen Editor
Bit 7: Sex (0=male, 1=female)
*)
type
UserActivityType = (InMenu, InDoor, InCallback,
ReadingMessages, WritingMessage,
ChattingWithSysop, ChattingWithUsers,
AnsweringQuestionaire, ViewingTextFile,
DownloadingFile, UploadingFile, ViewingFileList,
DoingFileSearch, LoggingOn, LoggingOff);
USERONrecord = record
Name : String[35];
Alias : String[35];
Line : Byte;
Baud : Word;
City : String[25];
DoNotDisturb : Boolean;
Conference : Byte;
Activity : UserActivityType;
Spare : Array[1..9] of Byte;
end;
AliasRecord = String[35]; (* for ALIAS.BBS *)
MsgToIdxRecord = String[35];
MsgTxtRecord = String[255];
{ Nodelist Records *************************************************** }
NodeTypes = (ntZone, ntRegion, ntNet, ntNode, ntPrefix);
NodeIdxRecord = record
NodeType : NodeTypes;
Number,
Cost : Word;
RawFile : Byte;
RawPos : LongInt;
end;
FileNameType = String[12];
NodeIncRecord = record
FileName : FileNameType;
DateStamp : LongInt;
end;
{ Message Records ******************************************************}
CombSelectType = array[1..MaxMsgAreas] of Boolean; (* for COMBINED.BBS *)
InfoRecord = record
LowMsg : Integer; { Lowest Message in File }
HighMsg : Integer; { Highest Message in File }
TotalActive : Integer; { Total Active Messages }
ActiveMsgs : array[1..MaxMsgAreas] of Integer;
end;
IdxRecord = record
MsgNum : Integer;
Board : Byte;
end;
HdrRecord = record
MsgNum,
ReplyTo,
SeeAlsoNum,
TRead : Integer;
StartRec : Word;
NumRecs,
DestNet,
DestNode,
OrigNet,
OrigNode : Integer;
DestZone,
OrigZone : Byte;
Cost : Integer;
MsgAttr,
NetAttr,
Board : Byte;
PostTime : String[5];
PostDate : String[8];
WhoTo,
WhoFrom : String[35];
Subj : String[72];
end;
(* Msg Attributes:
Bit 0: Deleted
Bit 1: Unmoved Outgoing Net Message
Bit 2: Is a Net Mail Message
Bit 3: Private
Bit 4: Received
Bit 5: Unmoved Outgoing Echo Message
Bit 6: Local Bit
Bit 7: Group Message
Net Attributes:
Bit 0: Kill Message after it's been sent
Bit 1: Sent OK
Bit 2: File(s) Attached
Bit 3: Crash Priority
Bit 4: Request Receipt
Bit 5: Audit Request
Bit 6: Is a Return Receipt
Bit 7: Freq
*)
{ Other Stuff *********************************************************** }
SysInfoRecord = record
CallCount : LongInt;
LastCallerName : String[35];
LastCallerAlias : String[35];
ExtraSpace : array[1..92] of Byte;
end;
TodayRecord = record
Name : String[35];
Alias : String[35];
Line : Byte;
City : String[25];
Date : Longint;
Time : Longint;
end;
TimeLogRecord = record
StartDate : String[8];
BusyPerHour : array[0..23] of Integer;
BusyPerDay : array[0..6] of Integer;
end;
LastReadType = Array[1..MaxMsgAreas] of Word;
MenuRecord = record
Typ : Byte;
Sec : Integer;
Flags : FlagType;
Str : String[75];
Key : Char;
Data : String[80];
Fg,
Bg : Byte;
end;
{ Configuration Information ********************************************** }
TypeMsgs = (Standard,Netmail,FMail,EchoMail);
KindMsgs = (Both,Private,Public,ROnly);
EventStat = (Deleted, Enabled, Disabled);
AskType = (No, Maybe, Yes);
ProtocolEnableType = (Never, MNP_Only, Always);
SecurityRecord = Record
Security : Word;
Flags : FlagType;
End;
FileAreaRecord = Record (* FILECFG.DAT *)
AreaName,
FilePath,
ListPath : String[66];
AllowUploads,
IgnoreKlimit,
IgnoreRatio : Boolean;
DlSec : SecurityRecord;
SearchSec : SecurityRecord;
TemplateSec : SecurityRecord;
CheckDupes : Boolean;
Group : Byte;
Spare : Array[3..12] of Byte;
End;
BoardRecord = record (* MSGCFG.DAT *)
Name : String[40];
Typ : TypeMsgs;
Kinds : KindMsgs;
Combined : Boolean;
Aliases : AskType;
Aka : Byte;
OriginLine : String[58];
AllowDelete : Boolean;
KeepCnt, (* Max # of Msgs to keep *)
KillRcvd, (* Kill received msgs after this many days *)
KillOld : Word; (* Kill msgs after this many days *)
ReadSec : SecurityRecord;
WriteSec : SecurityRecord;
TemplateSec : SecurityRecord;
SysopSec : SecurityRecord;
FileArea : Integer; (* for Fmail *)
Group : Byte;
Spare : Array[4..12] of Byte;
end;
EventRecord = record (* EVENTCFG.DAT *)
Status : EventStat;
RunTime : LongInt;
ErrorLevel : Byte;
Days : Byte;
Forced : Boolean;
LastTimeRun : LongInt;
Spare : Array[1..7] of Byte;
end;
ModemTranslationRecord = Record
TranslateFrom : String[25];
TranslateTo : Word;
End;
ConfigRecord = record (* QUICKCFG.DAT *)
VersionID : Word;
Node : Byte;
(* Modem Parameters *)
CommPort : Integer;
InitBaud : Word;
ModemDelay : Word;
InitTimes,
AnswerWait : Integer;
ModemInitStr,
ModemBusyStr : String[70];
ModemInitResp,
ModemBusyResp : String[40];
ModemConnectResp :
Array[1..8] of ModemTranslationRecord;
CBV_CallbackDelay,
CBV_WakeupDelay : Word;
ARQ_String : String[8];
ModemSpareInfo : Array[14..22] of Byte;
(* System Paths *)
EditorCmdStr : String[70];
MenuPath,
TextPath,
NetPath,
NodelistPath,
MsgPath,
SwapPath,
OverlayPath : String[66];
(* System misc strings *)
LoadingMessage : String[70];
SelectionPrompt : String[70];
NoMailString : String[70];
OriginLine : String[58];
QuoteStr : String[3];
(* User Restrictions *)
LowBaudStart,
LowBaudEnd,
DownloadStart,
DownloadEnd : LongInt;
MaxPageTimes,
PageBellLen : Integer;
PagingStart,
PagingEnd : LongInt;
MinBaud,
GraphicsBaud,
XferBaud : Integer;
(* Matrix Information *)
MatrixZone,
MatrixNet,
MatrixNode,
MatrixPoint : array[0..10] of Integer;
NetMailBoard : Integer;
(* Default Information for New Users *)
DefaultSec : SecurityRecord;
MinimumSec : SecurityRecord;
DefaultCredit : Integer;
(* Sysop Security Etc. *)
SysopSecurity : SecurityRecord;
SysopName : String[35];
SystemName : String[40];
RegKey : LongInt;
(* Misc System Parameters *)
TextFileShells,
AltJswap,
Editorswap,
AutoLogonChar,
FastLogon,
UseLastRead,
MonoMode,
DirectWrite,
SnowCheck,
NetEchoExit,
OneWordNames,
CheckMail,
AskHomePhone,
AskDataPhone,
AskBirthday,
AskSex,
Use_Xmodem,
Use_Xmodem1k,
Use_Ymodem : Boolean;
Use_YmodemG : ProtocolEnableType;
Use_Kermit,
Use_Zmodem,
Inp_Fields,
GraphicsAvail,
ForceUS_Phone : Boolean;
InactiveTimeOut : Integer;
LogonTime : Integer;
DefFgColor : Integer;
DefBgColor : Integer;
PasswordTries : Integer;
EntFldColor : Byte; (* Color for entry fields *)
BorderColor : Byte; (* Color for menu borders *)
WindowColor : Byte;
StatusBarColor : Byte;
UploadCredit : Integer;
ScreenBlank : Byte;
(* Callback verifier *)
VerifierInit : string[35];
DialString : string[15];
DialSuffix : string[15];
DupeCheck : Boolean;
NewUserSec,
MemberSec : Word;
MemberFlags : Array[1..4,1..8] of Char;
LDcost : Word;
LDenable,
ResumeLocal,
ResumeLD : Boolean;
LDstart,
LDend : Longint;
ForgotPwdBoard : Byte;
SendATA : Boolean;
Location : String[60];
ArchiveNetMail : Boolean;
IEMSI,
IEMSI_New,
AutoAnsi,
MultiNode,
AutoLogChat : Boolean;
UserEditor : String[70];
ExtraSpace : Array[141..400] of Byte;
end;
GosubDataType = array[1..20] of String[8];
ExitRecord = record (* EXITINFO.BBS *)
BaudRate : Integer;
SysInfo : SysInfoRecord;
TimeLogInfo : TimeLogRecord;
UserInfo : UserRecord;
EventInfo : EventRecord;
NetMailEntered : Boolean;
EchoMailEntered : Boolean;
LoginTime : String[5];
LoginDate : String[8];
TmLimit : Integer;
LoginSec : LongInt;
Credit : LongInt;
UserRecNum : Integer;
ReadThru : Integer;
PageTimes : Integer;
DownLimit : Integer;
WantChat : Boolean;
GosubLevel : Byte;
GosubData : GosubDataType;
Menu : String[8];
ScreenClear : Boolean;
MorePrompts : Boolean;
GraphicsMode : Boolean;
ExternEdit : Boolean;
ScreenLength : Integer;
MNP_Connect : Boolean;
ChatReason : String[48];
ExternLogoff : Boolean;
ANSI_Capable : Boolean;
end;